package com.example.onlinereadingsystem.demos.web.service;

import com.example.onlinereadingsystem.demos.web.dto.request.*;
import com.example.onlinereadingsystem.demos.web.dto.vo.GetNovelChildCommentsItemVo;
import com.example.onlinereadingsystem.demos.web.dto.vo.GetNovelChildCommentsVo;
import com.example.onlinereadingsystem.demos.web.dto.vo.GetNovelMainCommentsVo;
import com.example.onlinereadingsystem.demos.web.dto.vo.NovelReadingDetailVo;
import com.example.onlinereadingsystem.demos.web.util.Result;

import java.util.List;

/**
 * @Description 小说详情页接口
 * @Author ljm
 * @Date 2024/12/11
 */
public interface NovelDetailService {
    /**
     * @auther ljm
     * @create 2024/11/7
     * @describe 获取小说阅读详情
     */
    Result<NovelReadingDetailVo> getNovelReadingDetail(String id, String token);

    /**
     * @auther ljm
     * @create 2024/11/12
     * @describe 加入书架接口
     */
    Result<Boolean> addNovel(AddNovelParam param);

    /**
     * @auther ljm
     * @create 2024/11/12
     * @describe 移除书架接口
     */
    Result<Boolean> removeNovel(RemoveNovelParam param);

    /**
     * @auther ljm
     * @create 2024/12/11
     * @describe 获取小说主评论接口
     */
    Result<GetNovelMainCommentsVo> getNovelMainComments(GetNovelMainCommentsParam param);

    /**
     * @auther ljm
     * @create 2024/12/11
     * @describe 获取小说子评论接口
     */
    Result<GetNovelChildCommentsVo> getNovelChildComments(GetNovelChildCommentsParam param);

    /**
     * @auther ljm
     * @create 2024/12/11
     * @describe 发表评论接口
     */
    Result<Boolean> saveComments(SaveCommentsParam param);
}
